Prefer method_missing over defining individual methods.

Akinori MUSHA vor 10 Jahren
Ursprung
Commit
2da33d2949
1 geänderte Dateien mit 5 neuen Zeilen und 4 gelöschten Zeilen
  1. 5 4
      app/helpers/dot_helper.rb

+ 5 - 4
app/helpers/dot_helper.rb

@@ -17,10 +17,11 @@ module DotHelper
17 17
   class DotDrawer
18 18
     def initialize(vars = {})
19 19
       @dot = ''
20
-      vars.each { |name, value|
21
-        # Import variables as methods
22
-        define_singleton_method(name) { value }
23
-      }
20
+      @vars = vars.symbolize_keys
21
+    end
22
+
23
+    def method_missing(var, *args)
24
+      @vars.fetch(var) { super }
24 25
     end
25 26
 
26 27
     def to_s